Robots are automated devices that are able to manipulate objects using manipulators, e.g., hands, fingers, thumbs, etc., and a series of links interconnected via robotic joints. Each joint in a typical robot represents at least one independent control variable, i.e., a degree of freedom (DOF). End-effectors or manipulators are used to perform the particular task at hand, e.g., grasping a work tool or other object. Therefore, precise motion control of the robot may be organized by the level of task specification; object-level control, which describes the ability to control the behavior of an object grasped or held in either a single or a cooperative grasp of a robot, end-effector control, and joint-level control. Collectively, the various control levels achieve the required robotic mobility, dexterity, and work task-related functionality.
Humanoid robots are a particular type of robot having an approximately human structure or appearance, whether a full body, a torso, and/or an appendage, with the structural complexity of the humanoid robot being largely dependent upon the nature of the work task being performed. The use of humanoid robots may be preferred where direct interaction is required with devices or systems that are specifically made for human use. The use of humanoid robots may also be preferred where interaction is required with humans, as the motion can be programmed to approximate human motion such that the task queues are understood by the cooperative human partner.
Due to the wide spectrum of work tasks that may be expected of a humanoid robot, different control modes may be simultaneously required. For example, precise control must be applied within the different control spaces noted above, as well as control over the applied torque or force of a given motor-driven joint, joint motion, and/or the various grasp types. Deploying humanoid robots in assembly line tasks requires an ability to interact with unstructured environments and to implement diverse applications.